{
	"lang": "fr",
	"rules": {
		"accesskeys": {
			"description": "Vérifier que chaque valeur de l’attribut accesskey est unique",
			"help": "La valeur de l’attribut accesskey doit être unique"
		},
		"area-alt": {
			"description": "Vérifier que les éléments <area> d’une image réactive ont une alternative textuelle",
			"help": "Les éléments <area> actifs doivent avoir une alternative textuelle"
		},
		"aria-allowed-attr": {
			"description": "Vérifier que les attributs ARIA sont autorisés pour le rôle d’un élément",
			"help": "Les éléments doivent seulement utiliser les attributs ARIA autorisés"
		},
		"aria-allowed-role": {
			"description": "Vérifier que l’attribut role a une valeur valide pour cet élément",
			"help": "Le rôle ARIA doit être valide pour cet élément"
		},
		"aria-hidden-body": {
			"description": "Vérifier qu’aria-hidden='true' n’est pas présent sur le corps du document (élément body)",
			"help": "aria-hidden='true' ne doit pas être présent sur <body>"
		},
		"aria-hidden-focus": {
			"description": "Vérifier qu’aria-hidden n’est pas assigné aux éléments qui reçoivent le focus au clavier",
			"help": "aria-hidden n’est pas assigné aux éléments qui reçoivent le focus au clavier"
		},
		"aria-input-field-name": {
			"description": "Vérifier que chaque champ de formulaire avec ARIA est doté d’un intitulé accessible",
			"help": "Les champs de formulaire ARIA ont un intitulé accessible"
		},
		"aria-required-attr": {
			"description": "Vérifier que les éléments avec des rôles ARIA ont les attributs ARIA requis",
			"help": "Les attributs ARIA requis doivent être présents"
		},
		"aria-required-children": {
			"description": "Vérifier que les éléments avec un rôle ARIA comportent aussi des rôles pour les descendants directs",
			"help": "Certains rôles ARIA doivent comporter des descendants directs spécifiques"
		},
		"aria-required-parent": {
			"description": "Vérifier que les éléments avec un rôle ARIA requérant des rôles parents y sont contenus",
			"help": "Certains rôles ARIA doivent être contenus par des parents spécifiques"
		},
		"aria-roledescription": {
			"description": "Vérifier qu’aria-roledescription n’est utilisé que sur des éléments qui ont un rôle implicite ou explicite",
			"help": "Utiliser aria-roledescription sur les éléments dont le rôle a une valeur sémantique"
		},
		"aria-roles": {
			"description": "Vérifier que les éléments avec un attribut role utilisent une valeur valide",
			"help": "Les rôles ARIA doivent se conformer aux valeurs valides"
		},
		"aria-toggle-field-name": {
			"description": "Vérifier que chaque champ de basculement ARIA a un libellé accessible",
			"help": "Les champs de basculement ARIA ont un libellé accessible"
		},
		"aria-valid-attr-value": {
			"description": "Vérifier que tous les attributs ARIA comportent des valeurs valides",
			"help": "Les attributs ARIA doivent comporter des valeurs valides"
		},
		"aria-valid-attr": {
			"description": "Vérifier que les attributs commençant par aria- sont des attributs ARIA valides",
			"help": "Les attributs ARIA doivent se conformer aux noms valides"
		},
		"audio-caption": {
			"description": "Vérifier que les éléments <audio> ont des sous-titres",
			"help": "Les éléments <audio> doivent avoir une piste de sous-titres"
		},
		"autocomplete-valid": {
			"description": "Vérifier que l’attribut autocomplete est correctement adapté au champ de formulaire",
			"help": "L’attribut autocomplete doit être utilisé correctement"
		},
		"avoid-inline-spacing": {
			"description": "Vérifier que l’espacement du texte défini à travers une attribution de styles peut être ajusté via une feuille de style personnalisée",
			"help": "L’espacement du texte inline peut être ajusté avec des feuilles de style personnalisées"
		},
		"blink": {
			"description": "Vérifier que l’élément <blink> n’est pas utilisé",
			"help": "L’élément <blink> est déprécié et ne doit pas être utilisé"
		},
		"button-name": {
			"description": "Vérifier que les boutons ont un texte perceptible",
			"help": "Les boutons doivent avoir un texte perceptible"
		},
		"bypass": {
			"description": "Vérifier que chaque page dispose au minimum d’un mécanisme de contournement de la navigation pour accéder directement au contenu",
			"help": "Chaque page doit fournir des moyens de contourner les contenus répétés"
		},
		"color-contrast": {
			"description": "Vérifier que les contrastes entre le premier plan et l’arrière-plan rencontrent les seuils de contrastes exigés par les WCAG 2 AA",
			"help": "Les éléments doivent avoir un contraste de couleurs suffisant"
		},
		"css-orientation-lock": {
			"description": "Vérifier que les contenus ne sont pas limités à une orientation spécifique de l’écran, et que le contenu est utilisable sous toutes les orientations de l’écran",
			"help": "Les CSS Media queries ne sont pas utilisées pour verrouiller l’orientation de l’écran"
		},
		"definition-list": {
			"description": "Vérifier que les éléments <dl> sont correctement structurés",
			"help": "Les éléments <dl> ne doivent contenir directement que des groupes d’éléments <dt> et <dd> correctement ordonnés, ou des éléments <script> ou <template>"
		},
		"dlitem": {
			"description": "Vérifier que les éléments <dt> et <dd> sont contenus dans un élément <dl>",
			"help": "Les éléments <dt> et <dd> doivent être contenus dans un élément <dl>"
		},
		"document-title": {
			"description": "Vérifier que chaque document HTML contient un élément <title> non vide",
			"help": "Chaque document doit avoir un élément <title> pour aider à la navigation"
		},
		"duplicate-id-active": {
			"description": "Vérifier que la valeur d’attribut id de chaque élément actif est unique",
			"help": "Les IDs des éléments actifs doivent être uniques"
		},
		"duplicate-id-aria": {
			"description": "Vérifier que chaque valeur d’attribut id utilisée avec ARIA et dans les étiquettes est unique",
			"help": "Les IDs utilisés avec ARIA et dans les étiquettes doivent être uniques"
		},
		"duplicate-id": {
			"description": "Vérifier que la valeur de chaque attribut id est unique",
			"help": "La valeur de l’attribut id doit être unique"
		},
		"empty-heading": {
			"description": "Vérifier que les niveaux de titre ont un texte perceptible",
			"help": "Les niveaux de titre ne doivent pas être vides"
		},
		"focus-order-semantics": {
			"description": "Vérifier que les éléments dans le parcours du focus ont un rôle approprié",
			"help": "Les éléments dans le parcours du focus doivent avoir un rôle approprié pour le contenu interactif"
		},
		"form-field-multiple-labels": {
			"description": "Vérifier que le champ de formulaire n’a pas plusieurs éléments d’étiquettes",
			"help": "Le champ de formulaire ne devrait pas comporter plusieurs éléments d’étiquettes"
		},
		"frame-tested": {
			"description": "Vérifier que les éléments <iframe> et <frame> contiennent le script axe-core",
			"help": "Les cadres doivent être testés avec axe-core"
		},
		"frame-title-unique": {
			"description": "Vérifier que les éléments <iframe> et <frame> ont un attribut title unique",
			"help": "Chaque cadre doit avoir un attribut title unique"
		},
		"frame-title": {
			"description": "Vérifier que les éléments <iframe> et <frame> ont un attribut title non vide",
			"help": "Chaque cadre doit avoir un attribut title"
		},
		"heading-order": {
			"description": "Vérifier que la hiérarchie des niveaux de titre est sémantiquement correcte",
			"help": "Les niveaux de titre doivent s’incrémenter d’un seul niveau à la fois"
		},
		"hidden-content": {
			"description": "Informer les utilisateurs sur les contenus cachés",
			"help": "Le contenu caché sur la page ne peut pas être analysé"
		},
		"html-has-lang": {
			"description": "Vérifier que chaque document HTML a un attribut lang",
			"help": "L’élément <html> doit avoir un attribut lang"
		},
		"html-lang-valid": {
			"description": "Vérifier que l’attribut lang sur l’élément <html> a une valeur valide",
			"help": "L’élément <html> doit avoir une valeur valide pour l’attribut lang"
		},
		"html-xml-lang-mismatch": {
			"description": "Vérifier que les éléments HTML avec les attributs lang et xml:lang valides indiquent la même langue de base pour la page",
			"help": "Les éléments HTML avec les attributs lang et xml:lang doivent avoir la même langue de base"
		},
		"image-alt": {
			"description": "Vérifier que les éléments <img> ont une alternative textuelle, ou un rôle de type 'none' ou 'presentation'",
			"help": "Les images doivent avoir une alternative textuelle"
		},
		"image-redundant-alt": {
			"description": "Vérifier que l’intitulé des liens et boutons n’est pas répété dans l’alternative de l’image",
			"help": "L’intitulé des liens et boutons ne doit pas être répété dans l’alternative de l’image"
		},
		"input-button-name": {
			"description": "Vérifier que la valeur textuelle des contrôles de boutons est perceptible",
			"help": "La valeur textuelle des contrôles de boutons doit être perceptible"
		},
		"input-image-alt": {
			"description": "Vérifier que les éléments <input type=\"image\"> ont une alternative textuelle",
			"help": "Les boutons images doivent avoir une alternative textuelle"
		},
		"label-content-name-mismatch": {
			"description": "Vérifier que dans le cas d’éléments identifiés par leur contenu textuel, le texte visible fait partie de l’intitulé accessible",
			"help": "Le contenu textuel des éléments doit aussi se retrouver dans leur intitulé accessible"
		},
		"label-title-only": {
			"description": "Vérifier que chaque élément de formulaire n’est pas labellisé uniquement par les attributs title ou aria-describedby",
			"help": "Chaque élément de formulaire doit avoir un label visible"
		},
		"label": {
			"description": "Vérifier que chaque élément de formulaire a une étiquette",
			"help": "Chaque élément de formulaire doit avoir une étiquette"
		},
		"landmark-banner-is-top-level": {
			"description": "La région banner ne devrait pas être contenue dans une autre région",
			"help": "La région banner doit être au niveau le plus haut"
		},
		"landmark-complementary-is-top-level": {
			"description": "Vérifier que les landmarks complementary ou aside se retrouvent au plus haut niveau",
			"help": "Aside ne doit pas être contenu dans un autre landmark"
		},
		"landmark-contentinfo-is-top-level": {
			"description": "La région contentinfo ne devrait pas être contenue dans une autre région",
			"help": "La région contentinfo doit être au niveau le plus haut"
		},
		"landmark-main-is-top-level": {
			"description": "La région main ne devrait pas être contenue dans une autre région",
			"help": "La région main doit être au niveau le plus haut"
		},
		"landmark-no-duplicate-banner": {
			"description": "Vérifier que le document n’a pas plus d’une région banner",
			"help": "Le document contient au plus une région banner"
		},
		"landmark-no-duplicate-contentinfo": {
			"description": "Vérifier que le document n’a pas plus d’une région contentinfo",
			"help": "Le document contient au plus une région contentinfo"
		},
		"landmark-no-duplicate-main": {
			"description": "Vérifier que le document a tout au plus, un seul landmark main",
			"help": "Le document ne doit pas contenir plus d’un landmark main"
		},
		"landmark-one-main": {
			"description": "Vérifier qu’une navigation pointe vers le contenu principal de la page. Si la page contient des iframes, chaque iframe ne doit contenir au plus qu’une région main",
			"help": "La page doit contenir une région main"
		},
		"landmark-unique": {
			"help": "Vérifier que chaque landmark est unique",
			"description": "Les landmarks doivent comporter un rôle unique, ou une étiquette accessible par la combinaison de role/label/title"
		},
		"link-in-text-block": {
			"description": "Les liens doivent pouvoir être distingués autrement que par la couleur",
			"help": "Les liens doivent pouvoir être distingués du texte environnant d’une façon qui ne repose pas sur la couleur"
		},
		"link-name": {
			"description": "Vérifier que les liens ont un texte perceptible",
			"help": "Les liens doivent avoir un texte perceptible"
		},
		"list": {
			"description": "Vérifier que les listes sont structurées correctement",
			"help": "<ul> et <ol> ne doivent contenir directement que des éléments <li>, <script> ou <template>"
		},
		"listitem": {
			"description": "Vérifier que les éléments <li> sont utilisés sémantiquement",
			"help": "Les éléments <li> doivent être contenus dans un élément <ul> ou <ol>"
		},
		"marquee": {
			"description": "Vérifier que l’élément <marquee> n’est pas utilisé",
			"help": "L’élément <marquee> est déprécié et ne doit pas être utilisé"
		},
		"meta-refresh": {
			"description": "Vérifier que <meta http-equiv=\"refresh\"> n’est pas utilisé",
			"help": "La page HTML ne doit pas être actualisée automatiquement"
		},
		"meta-viewport-large": {
			"description": "Vérifier que <meta name=\"viewport\"> permet un agrandissement significatif",
			"help": "Les utilisateurs devraient pouvoir zoomer et agrandir le texte jusqu’à 500%"
		},
		"meta-viewport": {
			"description": "Vérifier que <meta name=\"viewport\"> ne désactive pas le zoom ni l’agrandissement",
			"help": "Le zoom et l’agrandissement ne doivent pas être désactivés"
		},
		"object-alt": {
			"description": "Vérifier que les éléments <object> ont une alternative textuelle",
			"help": "Les éléments <object> doivent avoir une alternative textuelle"
		},
		"p-as-heading": {
			"description": "Vérifier que les éléments p ne sont pas utilisés pour styler des niveaux de titres",
			"help": "La graisse, le style et le corps du texte ne doivent pas être utilisés pour styler les éléments p comme des niveaux de titres"
		},
		"page-has-heading-one": {
			"description": "Vérifier que la page, ou au moins une de ses iframes, contient un titre de niveau 1",
			"help": "La page doit contenir un titre de niveau 1"
		},
		"region": {
			"description": "Vérifier que tout le contenu est localisé dans une région",
			"help": "Le contenu doit être localisé dans une région"
		},
		"role-img-alt": {
			"description": "Vérifier que les éléments avec [role='img'] ont une équivalence textuelle",
			"help": "Les éléments avec [role='img'] ont une équivalence textuelle"
		},
		"scope-attr-valid": {
			"description": "Vérifier que l’attribut scope est utilisé correctement dans les tableaux",
			"help": "L’attribut scope doit être utilisé correctement"
		},
		"scrollable-region-focusable": {
			"description": "Les éléments dont le contenu défile devraient être accessibles au clavier",
			"help": "Vérifier que les régions défilantes sont accessibles au clavier"
		},
		"server-side-image-map": {
			"description": "Vérifier que les images réactives côté serveur ne sont pas utilisées",
			"help": "Les images réactives côté serveur ne devraient pas être utilisées"
		},
		"skip-link": {
			"description": "Vérifier que tous les liens d’évitement ont une cible pouvant recevoir le focus",
			"help": "La cible d’un lien d’évitement doit exister et pouvoir recevoir le focus"
		},
		"tabindex": {
			"description": "Vérifier que les valeurs de l’attribut tabindex ne sont pas supérieures à 0",
			"help": "Aucun élément ne devrait avoir un tabindex avec une valeur supérieure à zéro"
		},
		"table-duplicate-name": {
			"description": "Vérifier que chaque tableau n’ait pas un summary et un caption identiques",
			"help": "L’élément <caption> ne devrait pas contenir le même texte que l’attribut summary"
		},
		"table-fake-caption": {
			"description": "Vérifier que les tableaux avec une légende utilisent l’élément <caption>",
			"help": "Les données ou les cellules d’entête ne devraient pas être utilisées pour légender un tableau de données"
		},
		"td-has-header": {
			"description": "Vérifier que chaque cellule de données non vide dans un tableau de données a une ou plusieurs cellules d’entête",
			"help": "Chaque élément td non vide dans un tableau plus grand que 3 × 3 doit avoir une cellule d’entête associée"
		},
		"td-headers-attr": {
			"description": "Vérifier que chaque cellule utilisant l’attribut headers fait référence à une autre cellule du même tableau",
			"help": "Les cellules utilisant l’attribut headers ne doivent faire référence qu’à d’autres cellules du même tableau"
		},
		"th-has-data-cells": {
			"description": "Vérifier que chaque cellule d’entête dans un tableau de données fait référence à des cellules de données",
			"help": "Tous les éléments th et ceux avec role=columnheader/rowheader doivent décrire des cellules de données"
		},
		"valid-lang": {
			"description": "Vérifier que les attributs lang ont des valeurs valides",
			"help": "L’attribut lang doit avoir une valeur valide"
		},
		"video-caption": {
			"description": "Vérifier que les éléments <video> ont des sous-titres",
			"help": "Les éléments <video> doivent avoir des sous-titres"
		}
	},
	"checks": {
		"abstractrole": {
			"pass": "Les rôles abstraits ne sont pas utilisés",
			"fail": "Les rôles abstraits ne peuvent pas être utilisés directement"
		},
		"aria-allowed-attr": {
			"pass": "Les attributs ARIA sont utilisés correctement pour le rôle défini",
			"fail": {
				"singular": "L’attribut ARIA n’est pas autorisé : ${data.values}",
				"plural": "Les attributs ARIA ne sont pas autorisés : ${data.values}"
			}
		},
		"aria-allowed-role": {
			"pass": "Le rôle ARIA est autorisé pour l’élément donné",
			"fail": {
				"singular": "Le rôle ARIA ${data.values} n’est pas autorisé pour l’élément donné",
				"plural": "Les rôles ARIA ${data.values} ne sont pas autorisés pour l’élément donné"
			},
			"incomplete": {
				"singular": "Le rôle ARIA ${data.values} doit être retiré lorsque l’élément est rendu visible, car il n’est pas autorisé pour cet élément",
				"plural": "Les rôles ARIA ${data.values} doivent être retirés lorsque l’élément est rendu visible, car ils ne sont pas autorisés pour cet élément"
			}
		},
		"aria-hidden-body": {
			"pass": "Aucun attribut aria-hidden n’est présent sur body",
			"fail": "aria-hidden=true ne devrait pas être présent sur body"
		},
		"aria-roledescription": {
			"pass": "aria-roledescription utilisé sur un élément sémantique supporté",
			"incomplete": "Vérifier que la valeur d’aria-roledescription est annoncée par les lecteurs d’écran supportés",
			"fail": "Attribuer à l’élément un role qui supporte aria-roledescription"
		},
		"aria-errormessage": {
			"pass": "Utiliser une technique prise en charge pour aria-errormessage",
			"fail": {
				"singular": "La valeur d’aria-errormessage `${data.values}` doit recourir à une technique pour annoncer le message (aria-live, aria-describedby, role=alert, etc.)",
				"plural": "Les valeurs aria-errormessage `${data.values}` doivent recourir à une technique pour annoncer le message (aria-live, aria-describedby, role=alert, etc.)"
			}
		},
		"has-widget-role": {
			"pass": "L’élément a un rôle widget.",
			"fail": "L’élément n’a pas de rôle widget."
		},
		"invalidrole": {
			"pass": "Le rôle ARIA est valide",
			"fail": "Le rôle doit être un des rôles ARIA valides"
		},
		"no-implicit-explicit-label": {
			"pass": "Il n’y a pas de décalage entre le <label> et l’intitulé accessible",
			"incomplete": "Vérifier que le <label> n’a pas à faire partie du nom du champ de formulaire ARIA ${data}"
		},
		"aria-required-attr": {
			"pass": "Tous les attributs ARIA requis sont présents",
			"fail": {
				"singular": "L’attribut ARIA requis est manquant : ${data.values}",
				"plural": "Les attributs ARIA requis sont manquants : ${data.values}"
			}
		},
		"aria-required-children": {
			"pass": "Les descendants ARIA requis sont présents",
			"fail": {
				"singular": "Le descendant ARIA requis est manquant : ${data.values}",
				"plural": "Les descendants ARIA requis sont manquants : ${data.values}"
			},
			"incomplete": {
				"singular": "Le rôle du descendant ARIA attendu doit être ajouté : ${data.values}",
				"plural": "Les rôles des descendants ARIA attendus doivent être ajoutés : ${data.values}"
			}
		},
		"aria-required-parent": {
			"pass": "Les rôles parents ARIA requis sont présents",
			"fail": {
				"singular": "Le rôle parent ARIA requis est manquant : ${data.values}",
				"plural": "Les rôles parents ARIA requis sont manquants : ${data.values}"
			}
		},
		"aria-unsupported-attr": {
			"pass": "L’attribut ARIA est supporté",
			"fail": "L’attribut ARIA n’est pas suffisamment supporté par les lecteurs d’écran et autres technologies d’assistance : ${data.values}"
		},
		"unsupportedrole": {
			"pass": "Le rôle ARIA est supporté",
			"fail": "Le rôle utilisé n’est pas suffisamment supporté par les technologies d’assistance"
		},
		"aria-valid-attr-value": {
			"pass": "Les valeurs d’attribut ARIA sont valides",
			"fail": {
				"singular": "La valeur d’attribut ARIA est invalide : ${data.values}",
				"plural": "Les valeurs d’attribut ARIA sont invalides : ${data.values}"
			},
			"incomplete": {
				"singular": "L’id de l’attribut ARIA de l’élément n’existe pas dans cette page : ${data.values}",
				"plural": "L’id de l’attribut ARIA des éléments n’existent pas dans cette page : ${data.values}"
			}
		},
		"aria-valid-attr": {
			"pass": {
				"singular": "Les noms d’attributs ARIA sont valides",
				"plural": "Le nom d’attribut ARIA est valide"
			},
			"fail": {
				"singular": "Le nom d’attribut ARIA est invalide : ${data.values}",
				"plural": "Les noms d’attributs ARIA sont invalides : ${data.values}"
			}
		},
		"valid-scrollable-semantics": {
			"pass": "L’élément a une sémantique valide pour un élément dans l’ordre de tabulation.",
			"fail": "L’élément n’a pas une sémantique valide pour un élément dans l’ordre de tabulation."
		},
		"color-contrast": {
			"pass": "L’élément a un contraste de couleurs suffisant de ${data.contrastRatio}",
			"fail": "L’élément a un contraste de couleurs insuffisant de ${data.contrastRatio} (couleur du texte : ${data.fgColor}, couleur d’arrière-plan : ${data.bgColor}, corps : ${data.fontSize}, graisse : ${data.fontWeight}). Le rapport de contraste attendu est ${data.expectedContrastRatio}",
			"incomplete": {
				"default": "Impossible de déterminer le rapport de contraste",
				"bgImage": "La couleur d’arrière-plan de l’élément n’a pu être déterminée à cause d’une image d’arrière-plan",
				"bgGradient": "La couleur d’arrière-plan de l’élément n’a pu être déterminée à cause d’un dégradé d’arrière-plan",
				"imgNode": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car l’élément contient une balise image",
				"bgOverlap": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car un autre élément le chevauche",
				"fgAlpha": "La couleur du texte de l’élément n’a pu être déterminée à cause d’une opacité réduite",
				"elmPartiallyObscured": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car l’élément est partiellement masqué par un autre élément",
				"elmPartiallyObscuring": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car il chevauche partiellement un autre élément",
				"outsideViewport": "La couleur d’arrière-plan de l’élément n’a pu être déterminée, car il est à l’extérieur du viewport",
				"equalRatio": "L’élément a un rapport de contraste de 1:1 avec son arrière-plan",
				"shortTextContent": "Le contenu de l’élément est trop court pour déterminer s’il s’agit réellement d’un contenu textuel"
			}
		},
		"link-in-text-block": {
			"pass": "Les liens peuvent être distingués du texte environnant par un autre moyen que la couleur",
			"fail": "Les liens doivent se distinguer du texte environnant par un autre moyen que la couleur",
			"incomplete": {
				"default": "Impossible de déterminer le rapport de contraste",
				"bgContrast": "Le rapport de contraste de l’élément n’a pu être déterminé. Recherchez un style différent pour le hover/focus.",
				"bgImage": "Le rapport de contraste de l’élément n’a pu être déterminé à cause d’une image d’arrière-plan",
				"bgGradient": "Le rapport de contraste de l’élément n’a pu être déterminé à cause d’un dégradé d’arrière-plan",
				"imgNode": "Le rapport de contraste de l’élément n’a pu être déterminé, car l’élément contient une balise image",
				"bgOverlap": "Le rapport de contraste de l’élément n’a pu être déterminé à cause d’un chevauchement"
			}
		},
		"autocomplete-appropriate": {
			"pass": "La valeur autocomplete est sur un élément approprié",
			"fail": "La valeur autocomplete est inappropriée sur ce type de champ de formulaire"
		},
		"autocomplete-valid": {
			"pass": "L’attribut autocomplete est formaté correctement",
			"fail": "L’attribut autocomplete n’est pas formaté correctement"
		},
		"accesskeys": {
			"pass": "La valeur de l’attribut accesskey est unique",
			"fail": "Plusieurs éléments ont le même accesskey au sein du document"
		},
		"focusable-content": {
			"pass": "L’élément contient des éléments focalisables",
			"fail": "L’élément devrait avoir du contenu focalisable"
		},
		"focusable-disabled": {
			"pass": "Aucun élément focalisable contenu dans l’élément",
			"fail": "Le contenu focalisable devrait être désactivé ou retiré du DOM"
		},
		"focusable-element": {
			"pass": "L’élément est focalisable",
			"fail": "L’élément devrait être focalisable"
		},
		"focusable-no-name": {
			"pass": "L’élément n’est pas dans l’ordre de tabulation ou a un intitulé accessible",
			"fail": "L’élément est dans l’ordre de tabulation et n’a pas d’intitulé accessible"
		},
		"focusable-not-tabbable": {
			"pass": "Aucun élément focalisable contenu dans l’élément",
			"fail": "Le contenu focalisable devrait se voir assigné un tabindex='-1' ou être retiré du DOM"
		},
		"landmark-is-top-level": {
			"pass": "La région ${data.role} est au niveau le plus haut.",
			"fail": "La région ${data.role} est contenue dans une autre région."
		},
		"page-has-heading-one": {
			"pass": "La page a au moins un titre de niveau un",
			"fail": "La page doit avoir un titre de niveau un"
		},
		"page-has-main": {
			"pass": "La page a au moins une région main",
			"fail": "La page doit avoir une région main"
		},
		"page-no-duplicate-banner": {
			"pass": "Le document n’a pas plus d’une région banner",
			"fail": "Le document a plus d’une région banner"
		},
		"page-no-duplicate-contentinfo": {
			"pass": "Le document n’a pas plus d’une région contentinfo",
			"fail": "Le document a plus d’une région contentinfo"
		},
		"page-no-duplicate-main": {
			"pass": "Le document n’a pas plus d’une région main",
			"fail": "Le document a plus d’une région banner"
		},
		"tabindex": {
			"pass": "L’élément n’a pas de tabindex supérieur à 0",
			"fail": "L’élément a un tabindex supérieur à 0"
		},
		"alt-space-value": {
			"pass": "L’élément a une valeur d’attribut alt valide",
			"fail": "L’élément a un attribut alt qui contient un caractère d’espacement qui n’est pas ignoré par les lecteurs d’écran"
		},
		"duplicate-img-label": {
			"pass": "L’élément ne duplique pas un texte existant dans l’alternative textuelle de l’élément <img>",
			"fail": "L’élément contient un élément <img> dont l’alternative textuelle duplique un texte existant"
		},
		"explicit-label": {
			"pass": "L’élément de formulaire a un <label> explicite",
			"fail": "L’élément de formulaire n’a pas de <label> explicite"
		},
		"help-same-as-label": {
			"pass": "L’aide à la saisie (title ou aria-describedby) ne duplique pas le contenu du label",
			"fail": "L’aide à la saisie (title ou aria-describedby) est identique au contenu du label"
		},
		"hidden-explicit-label": {
			"pass": "L’élément de formulaire a un <label> visible et explicite",
			"fail": "L’élément de formulaire a un <label> explicite qui est masqué"
		},
		"implicit-label": {
			"pass": "L’élément de formulaire a un <label> implicite (imbriqué)",
			"fail": "L’élément de formulaire n’a pas de <label> implicite (imbriqué)"
		},
		"label-content-name-mismatch": {
			"pass": "L’élément contient du texte visible qui n’est pas inclus dans l’intitulé accessible",
			"fail": "Le texte contenu dans l’élément n’est pas inclus dans l’intitulé accessible"
		},
		"multiple-label": {
			"pass": "L’élément de formulaire n’a pas plusieurs éléments <label>",
			"incomplete": "Des éléments associés à plusieurs étiquettes ne sont pas suffisamment supportés par les technologies d’assistance. Vérifier que la première étiquette contient toute l’information nécessaire."
		},
		"title-only": {
			"pass": "L’élément de formulaire n’a pas uniquement l’attribut title comme étiquette",
			"fail": "Seul l’attribut title est utilisé comme étiquette pour l’élément de formulaire"
		},
		"landmark-is-unique": {
			"pass": "Les landmarks doivent comporter un rôle unique, ou une étiquette accessible par la combinaison de role/label/title",
			"fail": "L’attribut landmark doit comporter une valeur d’attribut aria-label, aria-labelledby, ou title unique pour rendre le landmark distinct"
		},
		"has-lang": {
			"pass": "L’élément <html> a un attribut lang",
			"fail": "L’élément <html> n’a pas d’attribut lang"
		},
		"valid-lang": {
			"pass": "La valeur de l’attribut lang fait partie des codes de langues valides",
			"fail": "La valeur de l’attribut lang ne fait pas partie des codes de langues valides"
		},
		"xml-lang-mismatch": {
			"pass": "Les attributs lang et xml:lang indiquent la même langue de base",
			"fail": "Les attributs lang et xml:lang indiquent des langues de base différentes"
		},
		"dlitem": {
			"pass": "L’item de liste de description a un élément <dl> parent",
			"fail": "L’item de liste de description n’a pas d’élément <dl> parent"
		},
		"listitem": {
			"pass": "L’item de liste a un élément <ul>, <ol> ou role=\"list\" parent",
			"fail": {
				"default": "L’item de liste n’a pas d’élément <ul> ou <ol> parent",
				"roleNotValid": "L’item de liste n’a pas d’élément <ul> ou <ol> parent sans un role ou un role=\"list\""
			}
		},
		"only-dlitems": {
			"pass": "L’élément de liste n’a que des descendants directs qui sont autorisés dans les éléments <dt> ou <dd>",
			"fail": "L’élément de liste a des descendants directs qui ne sont pas autorisés dans les éléments <dt> ou <dd>"
		},
		"only-listitems": {
			"pass": "L’élément de liste n’a que des descendants directs qui sont autorisés dans les éléments <li>",
			"fail": {
				"default": "L’élément de liste comporte des descendants directs qui ne sont pas autorisés à l’intérieur de l’élément <li>",
				"roleNotValid": "L’élément de liste comporte des descendants directs avec un rôle qui n’est pas autorisé : ${data.roles}"
			}
		},
		"structured-dlitems": {
			"pass": "S’il n’est pas vide, l’élément contient au moins un élément <dt> et un élément <dd>",
			"fail": "S’il n’est pas vide, l’élément doit contenir au moins un élément <dt> et un élément <dd>"
		},
		"caption": {
			"pass": "L’élément multimédia a une piste de sous-titres",
			"incomplete": "Aucune piste de sous-titres n’a pu être trouvée pour cet élément"
		},
		"frame-tested": {
			"pass": "L’iframe a été testée avec axe-core",
			"fail": "L’iframe n’a pu être testée avec axe-core",
			"incomplete": "L’iframe doit encore être testée avec axe-core"
		},
		"css-orientation-lock": {
			"pass": "L’utilisation de l’écran est indépendante de l’orientation et n’est pas limitée à un mode d’affichage donné",
			"fail": "L’utilisation de l’écran est limitée à une orientation donnée par CSS, rendant l’affichage inutilisable",
			"incomplete": "Le verrouillage de l’orientation d’affichage par CSS ne peut être déterminé"
		},
		"meta-viewport-large": {
			"pass": "La balise <meta> ne limite pas l’agrandissement sur les appareils mobiles",
			"fail": "La balise <meta> limite l’agrandissement sur les appareils mobiles"
		},
		"meta-viewport": {
			"pass": "La balise <meta> n’empêche pas l’agrandissement sur les appareils mobiles",
			"fail": "La balise <meta> empêche l’agrandissement sur les appareils mobiles"
		},
		"header-present": {
			"pass": "La page a un entête",
			"fail": "La page n’a pas d’entête"
		},
		"heading-order": {
			"pass": "Hiérarchie entre les titres valide",
			"fail": "Hiérarchie entre les titres invalide"
		},
		"internal-link-present": {
			"pass": "Lien d’évitement valide trouvé",
			"fail": "Aucun lien d’évitement valide trouvé"
		},
		"landmark": {
			"pass": "La page a une région",
			"fail": "La page n’a pas de région"
		},
		"meta-refresh": {
			"pass": "Aucune balise <meta> ne rafraîchit immédiatement la page",
			"fail": "La balise <meta> force le rafraîchissement minuté de la page"
		},
		"p-as-heading": {
			"pass": "Les éléments <p> ne sont pas stylés comme des titres",
			"fail": "Des titres doivent être utilisés au lieu de styler des éléments <p>"
		},
		"region": {
			"pass": "Contenu imbriqué dans une région ARIA",
			"fail": "Contenu non imbriqué dans une région ARIA"
		},
		"skip-link": {
			"pass": "La cible du lien d’évitement existe",
			"incomplete": "La cible du lien d’évitement devrait devenir visible lors de l’activation",
			"fail": "Lien d’évitement sans cible"
		},
		"unique-frame-title": {
			"pass": "L’attribut title de l’élément est unique",
			"fail": "L’attribut title de l’élément n’est pas unique"
		},
		"duplicate-id-active": {
			"pass": "Le document ne comporte aucun élément actif partageant la même valeur d’attribut id",
			"fail": "Le document comporte ou un plusieurs éléments actifs partageant la même valeur d’attribut id : ${data}"
		},
		"duplicate-id-aria": {
			"pass": "Le document ne comporte aucun élément référencé par ARIA ou étiquettes partageant la même valeur d’attribut id",
			"fail": "Le document comporte un ou plusieurs éléments référencés par ARIA partageant la même valeur d’attribut id : ${data}"
		},
		"duplicate-id": {
			"pass": "Le document n’a pas d’éléments qui partagent le même attribut id",
			"fail": "Le document a plusieurs éléments avec le même attribut id : ${data}"
		},
		"aria-label": {
			"pass": "L’attribut aria-label existe et n’est pas vide",
			"fail": "L’attribut aria-label n’existe pas ou est vide"
		},
		"aria-labelledby": {
			"pass": "L’attribut aria-labelledby existe et fait référence à des éléments visibles par les lecteurs d’écran",
			"fail": "L’attribut aria-labelledby n’existe pas, fait référence à des éléments qui n’existent pas ou à des éléments vides ou non visibles"
		},
		"avoid-inline-spacing": {
			"pass": "Aucun style inline affectant l’espacement du texte avec '!important' n’a été spécifié",
			"fail": {
				"singular": "Retirer '!important' du style inline ${data.values}, car le remplacement n’est pas pris en charge par la plupart des navigateurs",
				"plural": "Retirer '!important' des styles inline ${data.values}, car le remplacement n’est pas pris en charge par la plupart des navigateurs"
			}
		},
		"button-has-visible-text": {
			"pass": "L’élément a un contenu textuel visible par les lecteurs d’écran",
			"fail": "L’élément n’a aucun contenu textuel visible par les lecteurs d’écran"
		},
		"doc-has-title": {
			"pass": "Le document a un élément <title> non vide",
			"fail": "Le document n’a pas d’élément <title> non vide"
		},
		"exists": {
			"pass": "L’élément n’existe pas",
			"incomplete": "L’élément existe"
		},
		"has-alt": {
			"pass": "L’élément a un attribut alt",
			"fail": "L’élément n’a pas d’attribut alt"
		},
		"has-visible-text": {
			"pass": "L’élément a un contenu textuel visible par les lecteurs d’écran",
			"fail": "L’élément n’a aucun contenu textuel visible par les lecteurs d’écran"
		},
		"is-on-screen": {
			"pass": "L’élément n’est pas visible",
			"fail": "L’élément est visible"
		},
		"non-empty-alt": {
			"pass": "L’élément a un attribut alt non vide",
			"fail": "L’élément n’a pas d’attribut alt ou l’attribut alt est vide"
		},
		"non-empty-if-present": {
			"pass": {
				"default": "L’élément n’a pas d’attribut value",
				"has-label": "L’élément a un attribut value non-vide"
			},
			"fail": "L’élément a un attribut value, et cet attribut est vide"
		},
		"non-empty-title": {
			"pass": "L’élément a un attribut title",
			"fail": "L’élément n’a pas d’attribut title ou l’attribut title est vide."
		},
		"non-empty-value": {
			"pass": "L’élément a un attribut value non vide",
			"fail": "L’élément n’a pas d’attribut value, ou a un attribut value vide"
		},
		"role-none": {
			"pass": "La sémantique par défaut de l’élément est annulée avec role=\"none\"",
			"fail": "La sémantique par défaut de l’élément n’est pas annulée avec role=\"none\""
		},
		"role-presentation": {
			"pass": "La sémantique par défaut de l’élément est annulée avec role=\"presentation\"",
			"fail": "La sémantique par défaut de l’élément n’est pas annulée avec role=\"presentation\""
		},
		"caption-faked": {
			"pass": "La première ligne d’un tableau n’est pas utilisée en guise de légende",
			"fail": "La première ligne d’un tableau devrait être un caption et non des cellules de tableau"
		},
		"html5-scope": {
			"pass": "L’attribut scope est utilisé uniquement sur des cellules d’entête de tableau",
			"fail": "En HTML 5, l’attribut scope ne peut être utilisé que sur des cellules d’entête de tableau"
		},
		"same-caption-summary": {
			"pass": "Les contenus de l’attribut summary et de <caption> ne sont pas identiques",
			"fail": "Les contenus de l’attribut summary et de <caption> sont identiques"
		},
		"scope-value": {
			"pass": "L’attribut scope est utilisé correctement",
			"fail": "La valeur de l’attribut scope ne peut être que 'row' ou 'col'"
		},
		"td-has-header": {
			"pass": "Toutes les cellules de données non vides ont un entête de tableau",
			"fail": "Certaines cellules de données non vides n’ont pas d’entête de tableau"
		},
		"td-headers-attr": {
			"pass": "L’attribut headers est utilisé exclusivement pour faire référence à d’autres cellules dans le tableau",
			"fail": "L’attribut headers n’est pas utilisé exclusivement pour faire référence à d’autres cellules dans le tableau"
		},
		"th-has-data-cells": {
			"pass": "Toutes les cellules d’entête de tableau font référence à des cellules de données",
			"fail": "Toutes les cellules d’entête de tableau ne font pas référence à des cellules de données",
			"incomplete": "Les cellules de données sont absentes ou vides"
		},
		"hidden-content": {
			"pass": "Tout le contenu de la page a été analysé.",
			"fail": "Il y a eu des problèmes pour analyser le contenu de cette page.",
			"incomplete": "Il y a du contenu caché sur la page qui n’a pas été analysé. Vous allez devoir modifier l’affichage de ce contenu afin de l’analyser."
		}
	},
	"failureSummaries": {
		"any": {
			"failureMessage": "Corriger l’un des éléments suivants : {{~it:value}}\n  {{=value.split('\\n').join('\\n  ')}}{{~}}"
		},
		"none": {
			"failureMessage": "Corriger tous les éléments suivants : {{~it:value}}\n  {{=value.split('\\n').join('\\n  ')}}{{~}}"
		}
	},
	"incompleteFallbackMessage": "axe n’a pu en déterminer la raison. Il est temps de sortir l’inspecteur d’éléments !"
}
